Field of the Technology
The present disclosure relates to computing networks and, more particularly, to managing input/output operations in a storage network or system.
Description of Related Art
Various computing networks and systems are capable of storing data. A subset of these computing networks and systems are configured to store data as data objects. Some of these data objects are capable of containing large amounts of data (e.g., at least two terabytes (2 TB) of data, although other amounts are applicable that experience throughput and storage-related issues).
Typically, when a computing system receives an input/output (I/O) request to write a data object to long-term storage, the data object is initially written to a storage buffer of a cache. The data object in the storage buffer is subsequently written to long-term storage and may be accessed in the future via read requests and/or read-write requests.
Some storage networks and/or systems may enable a computing device or node that is requesting storage of the data object to select the storage location where the data object is to be stored. The selected storage location where the data object is to be stored is recorded in a hash table and the data object may then be stored in one or more storage devices corresponding to the selected storage location. A hash table may provide a map of the various storage locations in the storage device(s) that can assist in directing I/O operations to the location of the data object(s) stored therein.
In some instances, the storage location selected by the computing device/node may be unavailable at the time the request to store the data object is received and the data object may ultimately be stored to an alternative storage location. Further, the selected storage location for the data object may have been recorded in the hash table prior to determining that the selected storage location is unavailable and storing the data object to the alternative location. For instance, the data object may be stored in a different storage location than the storage location mapped in the hash table, which can cause issues when attempting to locate the data object for future I/O operations.
While some previous storage networks and systems are generally capable of storing data objects, they are often unable to do so reliably and/or efficiently, particularly at high volumes and/or when processing large data objects. This can cause data loss and/or performance issues that impact business operations and incur significant unneeded costs. For instance, some storage systems may fail (e.g. crash, etc.) and/or underperform (e.g., have latency issues, etc.) in situations in which one or more I/O requests are directed to a data object that is not properly mapped in a hash table.